$(function () {

    var searchKey,activeStr = '',allPage,page;

    // 页面初始化....默认显示入账记录列表...
    page = getInMoneyList( 1,'',10,0 );
    getPage(page);

    // 页面初始化...默认导出入账的全部订单....
    exportInMoneyList( 1,'',10,1 );

    // 测试...导出出账记录....导出出账的全部订单..
    // getOutMoneyList( 1,'',10,0 );
    // exportOutMoneyList( 1,'',10,1 );

    // 为头顶的两个做tab切换.....为了防止以后会出现新增....用事件委托...
    $('.inAndOut_tab').delegate('li','click',function () {

        var target=$(event.target);
        target.addClass('active').siblings('li').removeClass('active');
        searchKey = $('input[name = searchKey]').val();

        if( target.html() == '入账记录' )
        {
            // 获取列表
            page = getInMoneyList( 1,searchKey,10,0 );
            getPage(page);
            // 获取导出的全部列表
            exportInMoneyList( 1,searchKey,10,1 );
        }
        else if( target.html() == '出账记录' )
        {
            // 获取列表
            page = getOutMoneyList( 1,searchKey,10,0 );
            getPage(page);
            // 获取导出的全部列表
            exportOutMoneyList( 1,searchKey,10,1 );
        };

    });

    // 页面的搜索功能
    $('.inAndOut_btn').click(function (){
        // alert(1)
        searchKey = $('input[name = searchKey]').val();
        activeStr = $('.inAndOut_tab li[class = active]').html();

        if( activeStr == '入账记录' )
        {
            // 获取列表
            page = getInMoneyList( 1,searchKey,10,0 );
            getPage(page);
            // 获取导出的全部列表
            exportInMoneyList( 1,searchKey,10,1 );
        }
        else if( activeStr == '出账记录' )
        {
            // 获取列表
            page = getOutMoneyList( 1,searchKey,10,0 );
            getPage(page);
            // 获取导出的全部列表
            exportOutMoneyList( 1,searchKey,10,1 );
        };


    });

    //当输入文本框中时,,,按下enter键,,,发起搜索,,,
    $(document).keydown(function(event){
        var ev = ev || event;

        if( ev.keyCode == 13 )
        {
            searchKey = $('input[name = searchKey]').val();
            activeStr = $('.inAndOut_tab li[class = active]').html();

            if( activeStr == '入账记录' )
            {
                // 获取列表
                page = getInMoneyList( 1,searchKey,10,0 );
                getPage(page);
                // 获取导出的全部列表
                exportInMoneyList( 1,searchKey,10,1 );
            }
            else if( activeStr == '出账记录' )
            {
                // 获取列表
                page = getOutMoneyList( 1,searchKey,10,0 );
                getPage(page);
                // 获取导出的全部列表
                exportOutMoneyList( 1,searchKey,10,1 );
            };
        };

    });

    // 分页插件封装   为分页插件传递数据
    function getPage(allPage)
    {
        $('.M-box2').pagination({
            pageCount:allPage,
            jump:true,
            coping:true,
            homePage:'首页',
            endPage:'末页',
            prevContent:'上页',
            nextContent:'下页',
            callback:function (api){//当点击页面当中的时候,会出发这个callback函数;;;;
                page = api.getCurrent()+"";//得到的是要跳转到的那一页的页码;
                searchKey = $('input[name = searchKey]').val();

                activeStr = $('.inAndOut_tab li[class = active]').html();

                if( activeStr == '入账记录' )
                {
                    // 获取列表
                    getInMoneyList( page,searchKey,10,0 );
                    // 获取导出的全部列表
                    exportInMoneyList( 1,searchKey,10,1 );
                }
                else if( activeStr == '出账记录' )
                {
                    // 获取列表
                    getOutMoneyList( page,searchKey,10,0 );
                    // 获取导出的全部列表
                    exportOutMoneyList( 1,searchKey,10,1 );
                };
            }
        });

    };

    // 清空div....追加入账的表头....
    function clearDivAddInMoneyHead(Dom)
    {
        $(Dom).html('');
        $(Dom).append('<thead><tr><th>序号</th><th>订单编号</th><th>订单来源</th><th>金额</th><th>下单时间</th><th>入账时间</th><th>用户ID</th><th>用户昵称</th><th>用户手机号</th></tr></thead><tbody></tbody>');
    };

    // 清空div...追加出账的表头....
    function clearDivAddOutMoneyHead(Dom)
    {
        $(Dom).html('');
        $(Dom).append('<thead><tr><th>序号</th><th>退款编号</th><th>订单编号</th><th>订单来源</th><th>金额</th><th>下单时间</th><th>入账时间</th><th>用户ID</th><th>用户昵称</th><th>用户手机号</th></tr></thead><tbody></tbody>');
    };

    // 获取...入账记录的列表....从后台获取...
    function getInMoneyList( page,searchKey,size,type )
    {
        // 加载数据之前都要先清空放表格的div...
        clearDivAddInMoneyHead('.inAndOut');

        // 从后台获取数据...
        $.ajax({
            async: false,
            type: 'post',
            headers: {"Accept-CMS-Token": token},
            url: inaccount,
            data: {
                page: page,
                querystr: searchKey,
                size: size,
                type: type
            },
            dataType: 'json',
            success: function (data) {
                if (data.resultCode == 200)
                {
                    allPage = data.count;
                    var list = data.value;
                    var len = list.length;
                    for (var i = 0; i < len; i++)
                    {
                        $('.inAndOut tbody').append('<tr orderid="' + list[i].id + '"></tr>');

                        $('.inAndOut tbody tr').eq(i).append('<td>' + (i + 1) + '</td>');//编号

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].orderNum) + '</td>');//订单编号

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].fromType) + '</td>');//订单来源

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].money) + '</td>');//金额

                        $('.inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].createTime) + '</td>');//下单时间

                        $('.inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].bookedTime) + '</td>');//入账时间

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userId) + '</td>');//用户ID

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userNickName) + '</td>');//用户昵称

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userPhone) + '</td>');//用户手机号

                    };

                }
                else if (data.resultCode == 500)
                {//这种情况下没有数据
                    allPage = 1;
                    $('.inAndOut tbody').append('<tr><td></td><td></td></td><td>您搜索的内容不存在</td></tr>');
                    hintUser();
                }
                else if (data.resultCode == 515)
                {
                    reLogin();
                };
                console.log('入账接口请求成功!!!')
            },
            error: function () {
                console.log('入账接口请求失败...')
            }
        });

        return allPage;

    };

    // 导出...入账记录的全部订单....从后台获取...
    function exportInMoneyList( page,searchKey,size,type )
    {
        // 加载数据之前都要先清空放表格的div...
        clearDivAddInMoneyHead('.export_inAndOut');

        // 从后台获取数据...
        $.ajax({
            async: false,
            type: 'post',
            headers: {"Accept-CMS-Token": token},
            url: inaccount,
            data: {
                page: page,
                querystr: searchKey,
                size: size,
                type: type
            },
            dataType: 'json',
            success: function (data) {
                if (data.resultCode == 200)
                {
                    var list = data.value;
                    var len = list.length;
                    for (var i = 0; i < len; i++)
                    {
                        $('.export_inAndOut tbody').append('<tr orderid="' + list[i].id + '"></tr>');

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + (i + 1) + '</td>');//编号

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].orderNum) + '</td>');//订单编号

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].fromType) + '</td>');//订单来源

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].money) + '</td>');//金额

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].createTime) + '</td>');//下单时间

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].bookedTime) + '</td>');//入账时间

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userId) + '</td>');//用户ID

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userNickName) + '</td>');//用户昵称

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userPhone) + '</td>');//用户手机号

                    };

                }
                else if (data.resultCode == 500)
                {//这种情况下没有数据
                    $('.export_inAndOut tbody').append('<tr><td></td><td></td></td><td>没有数据...</td></tr>');
                }
                else if (data.resultCode == 515)
                {
                    reLogin();
                }
                ;

                console.log('入账接口请求成功!!!')
            },
            error: function () {
                console.log('入账接口请求失败...')
            }
        });

    };

    // 获取...出账记录的列表....从后台获取...
    function getOutMoneyList( page,searchKey,size,type )
    {
        // 加载数据之前都要先清空放表格的div...
        clearDivAddOutMoneyHead('.inAndOut');

        // 从后台获取数据...
        $.ajax({
            async: false,
            type: 'post',
            headers: {"Accept-CMS-Token": token},
            url: outaccount,
            data: {
                page: page,
                querystr: searchKey,
                size: size,
                type: type
            },
            dataType: 'json',
            success: function (data) {
                if (data.resultCode == 200)
                {
                    allPage = data.count;
                    var list = data.value;
                    var len = list.length;
                    for (var i = 0; i < len; i++)
                    {
                        $('.inAndOut tbody').append('<tr orderid="' + list[i].id + '"></tr>');

                        $('.inAndOut tbody tr').eq(i).append('<td>' + (i + 1) + '</td>');//编号

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].refundNum) + '</td>');//退款编号

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].orderNum) + '</td>');//订单编号

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].fromType) + '</td>');//订单来源

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].money) + '</td>');//金额

                        $('.inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].createTime) + '</td>');//下单时间

                        $('.inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].bookedTime) + '</td>');//入账时间

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userId) + '</td>');//用户ID

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userNickName) + '</td>');//用户昵称

                        $('.inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userPhone) + '</td>');//用户手机号

                    };

                }
                else if (data.resultCode == 500)
                {//这种情况下没有数据
                    allPage = 1;
                    $('.inAndOut tbody').append('<tr><td></td><td></td></td><td>您搜索的内容不存在</td></tr>');
                    hintUser();
                }
                else if (data.resultCode == 515)
                {
                    reLogin();
                }
                ;

                console.log('出账接口请求成功!!!')
            },
            error: function () {
                console.log('出账接口请求失败...')
            }
        });

        return allPage;

    };

    // 导出...出账记录的全部订单....从后台获取...
    function exportOutMoneyList( page,searchKey,size,type )
    {
        // 加载数据之前都要先清空放表格的div...
        clearDivAddOutMoneyHead('.export_inAndOut');

        // 从后台获取数据...
        $.ajax({
            async: false,
            type: 'post',
            headers: {"Accept-CMS-Token": token},
            url: outaccount,
            data: {
                page: page,
                querystr: searchKey,
                size: size,
                type: type
            },
            dataType: 'json',
            success: function (data) {
                if (data.resultCode == 200)
                {
                    var list = data.value;
                    var len = list.length;
                    for (var i = 0; i < len; i++)
                    {
                        $('.export_inAndOut tbody').append('<tr orderid="' + list[i].id + '"></tr>');

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + (i + 1) + '</td>');//编号

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].refundNum) + '</td>');//退款编号

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].orderNum) + '</td>');//订单编号

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].fromType) + '</td>');//订单来源

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].money) + '</td>');//金额

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].createTime) + '</td>');//下单时间

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + getMoth(list[i].bookedTime) + '</td>');//入账时间

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userId) + '</td>');//用户ID

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userNickName) + '</td>');//用户昵称

                        $('.export_inAndOut tbody tr').eq(i).append('<td>' + changeNull(list[i].userPhone) + '</td>');//用户手机号

                    };

                }
                else if (data.resultCode == 500)
                {//这种情况下没有数据
                    $('.export_inAndOut tbody').append('<tr><td></td><td></td></td><td>亲,没有数据...</td></tr>');
                }
                else if (data.resultCode == 515)
                {
                    reLogin();
                }
                ;

                console.log('出账接口请求成功!!!')
            },
            error: function () {
                console.log('出账接口请求失败...')
            }
        });

    };







    /*
     将后台返回来的数据进行处理...若是null...静显示为空''
     */
    function changeNull(para)
    {
        if( para == null )
        {
            return '';
        }
        else
        {
            return para;
        };
    };

    //将毫秒时间格式化为yyyy-MM-dd;
    function getMoth(str)
    {
        var oDate = new Date(str),
            oYear=oDate.getFullYear(),
            oMonth = oDate.getMonth()+1,
            oDay = oDate.getDate(),
            oTime = getzf(oYear) +'-'+ getzf(oMonth) +'-'+ getzf(oDay);//最后拼接时间
        return oTime;
    };

    //将日期补0操作
    function getzf(num)
    {
        if(parseInt(num) < 10){
            num = '0'+num;
        }
        return num;
    };

    // 当后台状态码是515时,让客户重新登录
    function reLogin()
    {
        alert('登录超时,请重新登录!');
        localStorage.clear();
        window.location.href = login_jump;
    };

    //为侧边栏的标签增加active
    function setSideActive()
    {
        for(var m=0;m<$('.sub_list').length;m++)
        {
            for(var n=0;n<$('.sub_list').eq(m).children('li').length;n++)
            {
                if( $('.sub_list').eq(m).children('li').eq(n).children('a').attr('href') .indexOf('inAndOut.html') >= 0 )
                {
                    $('.sub_list').eq(m).children('li').eq(n).addClass('active');
                    $('.sub_list').eq(m).children('li').eq(n).parent('ul').prev('h3').css({ 'color':'#fff' })
                    $('#accordion h3').eq(m).attr('onOff',0)
                };

            };

        };
    };
    setSideActive();

    //页面初始化时 为侧边栏一级菜单设置展开和折叠....
    function setFirstUnfold()
    {
        for( var i=0;i<$('.sub_list').length;i++ )
        {
            if($('#accordion h3').eq(i).attr('onOff') == 1)
            {
                $('.sub_list').eq(i).hide();
            }
            else
            {
                $('.sub_list').eq(i).show();
            };
        };
    };
    setFirstUnfold();


});
